Skip to content

Conversation

@Shoreshen
Copy link
Contributor

For #160969 , by making v16i4 customize for select in amdgpu, simplify the compiled result as follow:

; %bb.0:
	s_load_dwordx4 s[0:3], s[4:5], 0x0
	s_load_dwordx2 s[6:7], s[4:5], 0x10
	v_mov_b32_e32 v8, 0
	s_waitcnt lgkmcnt(0)
	global_load_dwordx4 v[0:3], v8, s[2:3]
	global_load_dwordx4 v[4:7], v8, s[6:7]
	s_load_dword s2, s[4:5], 0x18
	s_waitcnt lgkmcnt(0)
	s_cmp_eq_u32 s2, 0
	s_cselect_b64 vcc, -1, 0
	s_waitcnt vmcnt(0)
	v_cndmask_b32_e32 v3, v7, v3, vcc
	v_cndmask_b32_e32 v2, v6, v2, vcc
	v_cndmask_b32_e32 v1, v5, v1, vcc
	v_cndmask_b32_e32 v0, v4, v0, vcc
	global_store_dwordx4 v8, v[0:3], s[0:1]
	s_endpgm

@llvmbot
Copy link
Member

llvmbot commented Dec 23, 2025

@llvm/pr-subscribers-backend-amdgpu

Author: None (Shoreshen)

Changes

For #160969 , by making v16i4 customize for select in amdgpu, simplify the compiled result as follow:

; %bb.0:
	s_load_dwordx4 s[0:3], s[4:5], 0x0
	s_load_dwordx2 s[6:7], s[4:5], 0x10
	v_mov_b32_e32 v8, 0
	s_waitcnt lgkmcnt(0)
	global_load_dwordx4 v[0:3], v8, s[2:3]
	global_load_dwordx4 v[4:7], v8, s[6:7]
	s_load_dword s2, s[4:5], 0x18
	s_waitcnt lgkmcnt(0)
	s_cmp_eq_u32 s2, 0
	s_cselect_b64 vcc, -1, 0
	s_waitcnt vmcnt(0)
	v_cndmask_b32_e32 v3, v7, v3, vcc
	v_cndmask_b32_e32 v2, v6, v2, vcc
	v_cndmask_b32_e32 v1, v5, v1, vcc
	v_cndmask_b32_e32 v0, v4, v0, vcc
	global_store_dwordx4 v8, v[0:3], s[0:1]
	s_endpgm

Full diff: https://github.com/llvm/llvm-project/pull/173328.diff

3 Files Affected:

  • (modified) llvm/include/llvm/CodeGen/ValueTypes.td (+2)
  • (modified) llvm/lib/Target/AMDGPU/SIISelLowering.cpp (+1-1)
  • (modified) llvm/test/CodeGen/AMDGPU/select-vectors.ll (+15)
diff --git a/llvm/include/llvm/CodeGen/ValueTypes.td b/llvm/include/llvm/CodeGen/ValueTypes.td
index 74ea86774a8ee..3ef87dc38a85d 100644
--- a/llvm/include/llvm/CodeGen/ValueTypes.td
+++ b/llvm/include/llvm/CodeGen/ValueTypes.td
@@ -113,6 +113,8 @@ def v4096i1 : VTVec<4096, i1>; // 4096 x i1 vector value
 def v128i2  : VTVec<128,  i2>; //  128 x i2 vector value
 def v256i2  : VTVec<256,  i2>; //  256 x i2 vector value
 
+def v16i4   : VTVec<16,   i4>; //   16 x i4 vector value
+def v32i4   : VTVec<32,   i4>; //   32 x i4 vector value
 def v64i4   : VTVec<64,   i4>; //   64 x i4 vector value
 def v128i4  : VTVec<128,  i4>; //  128 x i4 vector value
 
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index 102ca92856bae..03d4f9c09dc2a 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -876,7 +876,7 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
                      {MVT::v4i16, MVT::v4f16, MVT::v4bf16, MVT::v2i8, MVT::v4i8,
                       MVT::v8i8, MVT::v8i16, MVT::v8f16, MVT::v8bf16,
                       MVT::v16i16, MVT::v16f16, MVT::v16bf16, MVT::v32i16,
-                      MVT::v32f16, MVT::v32bf16},
+                      MVT::v32f16, MVT::v32bf16, MVT::v16i4},
                      Custom);
 
   setOperationAction({ISD::SMULO, ISD::UMULO}, MVT::i64, Custom);
diff --git a/llvm/test/CodeGen/AMDGPU/select-vectors.ll b/llvm/test/CodeGen/AMDGPU/select-vectors.ll
index e754f665c5f43..5e52b2fca32c8 100644
--- a/llvm/test/CodeGen/AMDGPU/select-vectors.ll
+++ b/llvm/test/CodeGen/AMDGPU/select-vectors.ll
@@ -65,6 +65,21 @@ define amdgpu_kernel void @v_select_v16i8(ptr addrspace(1) %out, ptr addrspace(1
   ret void
 }
 
+; GCN-LABEL: {{^}}v_select_v32i4:
+; GCN: v_cndmask_b32_e32
+; GCN: v_cndmask_b32_e32
+; GCN: v_cndmask_b32_e32
+; GCN: v_cndmask_b32_e32
+; GCN-NOT: cndmask
+define amdgpu_kernel void @v_select_v32i4(ptr addrspace(1) %out, ptr addrspace(1) %a.ptr, ptr addrspace(4) %b.ptr, i32 %c) #0 {
+  %a = load <32 x i4>, ptr addrspace(1) %a.ptr, align 2
+  %b = load <32 x i4>, ptr addrspace(4) %b.ptr, align 2
+  %cmp = icmp eq i32 %c, 0
+  %select = select i1 %cmp, <32 x i4> %a, <32 x i4> %b
+  store <32 x i4> %select, ptr addrspace(1) %out, align 2
+  ret void
+}
+
 ; GCN-LABEL: {{^}}select_v4i8:
 ; GFX89: s_cselect_b32
 ; GFX89-NOT: s_cselect_b32

@github-actions
Copy link

🐧 Linux x64 Test Results

  • 167411 tests passed
  • 2969 tests skipped
  • 8 tests failed

Failed Tests

(click on a test name to see its output)

LLVM

LLVM.CodeGen/X86/dpbusd_i4.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll -mtriple=x86_64-unknown-unknown -mattr=+avx512vnni -mattr=+avx512vl | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+avx512vnni -mattr=+avx512vl
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll:32:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm0, %xmm0
# |               ^
# | <stdin>:45:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:71:2: note: possible intended match here
# |  vpaddd %xmm1, %xmm0, %xmm0
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll:54:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpsllw $4, %xmm1, %xmm1
# |               ^
# | <stdin>:101:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:108:17: note: possible intended match here
# |  vpinsrw $1, 32(%rsp), %xmm1, %xmm1
# |                 ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll:81:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
# |               ^
# | <stdin>:204:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll:110:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpbroadcastd {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |               ^
# | <stdin>:280:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:289:2: note: possible intended match here
# |  vpbroadcastd .LCPI4_1(%rip), %xmm1 # xmm1 = [15,15,15,15,15,15,15,15]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/dpbusd_i4.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            40:  .globl mul_i4i8 
# |            41:  .p2align 4 
# |            42:  .type mul_i4i8,@function 
# |            43: mul_i4i8: # @mul_i4i8 
# |            44:  .cfi_startproc 
# |            45: # %bb.0: # %entry 
# | next:32'0                       X error: no match found
# |            46:  vmovd 24(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            47:  vpinsrw $1, 32(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            48:  vpinsrw $2, 40(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            49:  vpinsrw $3, 48(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            50:  vpinsrw $4, 56(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            66:  vpxor %xmm2, %xmm2, %xmm2 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            67:  vpdpbusd %xmm0, %xmm1, %xmm2 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  vpshufd $238, %xmm2, %xmm0 # xmm0 = xmm2[2,3,2,3] 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            69:  vpaddd %xmm0, %xmm2, %xmm0 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            70:  vpshufd $85, %xmm0, %xmm1 # xmm1 = xmm0[1,1,1,1] 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71:  vpaddd %xmm1, %xmm0, %xmm0 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:32'1       ?                           possible intended match
# |            72:  vmovd %xmm0, %eax 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~
# |            73:  addl 88(%rsp), %eax 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~
# |            74:  retq 
# | next:32'0      ~~~~~~
# |            75: .Lfunc_end1: 
# | next:32'0      ~~~~~~~~~~~~~
# |            76:  .size mul_i4i8, .Lfunc_end1-mul_i4i8 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            96:  .globl mul_i4i4 
# | next:32'0      ~~~~~~~~~~~~~~~~~
# |            97:  .p2align 4 
# | next:32'0      ~~~~~~~~~~~~
# |            98:  .type mul_i4i4,@function 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            99: mul_i4i4: # @mul_i4i4 
# | next:32'0      ~~~~~~~~~
# |           100:  .cfi_startproc 
# |           101: # %bb.0: # %entry 
# | next:54'0                       X error: no match found
# |           102:  vmovd %edi, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~
# |           103:  vpinsrw $1, %esi, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           104:  vpinsrw $2, %edx, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           105:  vpinsrw $3, %ecx, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           106:  vpinsrw $4, %r8d, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           107:  vmovd 24(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           108:  vpinsrw $1, 32(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:54'1                      ?                    possible intended match
# |           109:  vpinsrw $2, 40(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           110:  vpinsrw $3, 48(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           111:  vpinsrw $4, 56(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           112:  vpinsrw $5, 64(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           113:  vpinsrw $6, 72(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           199:  .globl mul_sext_i4i4 # -- Begin function mul_sext_i4i4 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           200:  .p2align 4 
# | next:54'0      ~~~~~~~~~~~~
# |           201:  .type mul_sext_i4i4,@function 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           202: mul_sext_i4i4: # @mul_sext_i4i4 
# | next:54'0      ~~~~~~~~~~~~~~
# |           203:  .cfi_startproc 
# |           204: # %bb.0: # %entry 
# | next:81                         X error: no match found
# |           205:  vmovd 152(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           206:  vpinsrw $1, 160(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           207:  vpinsrw $2, 168(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  vpinsrw $3, 176(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  vpinsrw $4, 184(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           275:  .globl mul_zext_i4i4 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~
# |           276:  .p2align 4 
# | next:81        ~~~~~~~~~~~~
# |           277:  .type mul_zext_i4i4,@function 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           278: mul_zext_i4i4: # @mul_zext_i4i4 
# | next:81        ~~~~~~~~~~~~~~
# |           279:  .cfi_startproc 
# |           280: # %bb.0: # %entry 
# | next:110'0                      X error: no match found
# |           281:  vmovd 24(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           282:  vpinsrw $1, 32(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           283:  vpinsrw $2, 40(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           284:  vpinsrw $3, 48(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           285:  vpinsrw $4, 56(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           286:  vpinsrw $5, 64(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           287:  vpinsrw $6, 72(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           288:  vpinsrw $7, 80(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           289:  vpbroadcastd .LCPI4_1(%rip), %xmm1 # xmm1 = [15,15,15,15,15,15,15,15] 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:110'1      ?                                                                      possible intended match
# |           290:  vpand %xmm1, %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           291:  vmovd %edi, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~
# |           292:  vpinsrw $1, %esi, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           293:  vpinsrw $2, %edx, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           294:  vpinsrw $3, %ecx, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/pr15267.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr15267.ll -mtriple=x86_64-pc-linux -mcpu=corei7-avx | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr15267.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-pc-linux -mcpu=corei7-avx
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr15267.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr15267.ll:85:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: movq (%rdi), %rax
# |               ^
# | <stdin>:87:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:88:2: note: possible intended match here
# |  movq %rdi, %rax
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr15267.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           82:  # -- End function 
# |           83:  .globl test4 # -- Begin function test4 
# |           84:  .p2align 4 
# |           85:  .type test4,@function 
# |           86: test4: # @test4 
# |           87: # %bb.0: 
# | next:85'0             X error: no match found
# |           88:  movq %rdi, %rax 
# | next:85'0     ~~~~~~~~~~~~~~~~~
# | next:85'1      ?                possible intended match
# |           89:  movq (%rsi), %rcx 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~
# |           90:  movq %rcx, (%rdi) 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~
# |           91:  retq 
# | next:85'0     ~~~~~~
# |           92: .Lfunc_end3: 
# | next:85'0     ~~~~~~~~~~~~~
# |           93:  .size test4, .Lfunc_end3-test4 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/pr62653.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr62653.ll -mtriple=x86_64-- | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr62653.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64--
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr62653.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr62653.ll:10:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: shll $4, %edi
# |               ^
# | <stdin>:10:16: note: scanning from here
# |  andl $15, %edi
# |                ^
# | <stdin>:17:2: note: possible intended match here
# |  shll $8, %edi
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/pr62653.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |            5:  .type pr62653,@function 
# |            6: pr62653: # @pr62653 
# |            7: # %bb.0: 
# |            8:  movq %rdi, %rax 
# |            9:  movzbl 160(%rsp), %edi 
# |           10:  andl $15, %edi 
# | next:10'0                    X error: no match found
# |           11:  movzbl 168(%rsp), %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           12:  andl $15, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           13:  shll $4, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~
# |           14:  orl %edi, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           15:  movzbl 176(%rsp), %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           16:  andl $15, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~
# |           17:  shll $8, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~
# | next:10'1      ?              possible intended match
# |           18:  orl %r10d, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           19:  movzbl 184(%rsp), %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20:  andl $15, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           21:  shll $12, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           22:  orl %edi, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/sadd_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/sadd_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/sadd_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/sadd_sat_vec.ll --check-prefixes=SSE,SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/sadd_sat_vec.ll:502:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: psllw $4, %xmm1
# |             ^
# | <stdin>:205:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:267:2: note: possible intended match here
# |  psllw $12, %xmm6
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/sadd_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           200:  # -- End function 
# |           201:  .globl v16i4 # -- Begin function v16i4 
# |           202:  .p2align 4 
# |           203:  .type v16i4,@function 
# |           204: v16i4: # @v16i4 
# |           205: # %bb.0: 
# | next:502'0             X error: no match found
# |           206:  movq %rdi, %rax 
# | next:502'0     ~~~~~~~~~~~~~~~~~
# |           207:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  movd 80(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           210:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           262:  movd 104(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263:  movd 96(%rsp), %xmm6 # xmm6 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           264:  punpcklwd %xmm3, %xmm6 # xmm6 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           265:  punpckldq %xmm4, %xmm6 # xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  punpcklqdq %xmm5, %xmm6 # xmm6 = xmm6[0],xmm5[0] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  psllw $12, %xmm6 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# | next:502'1      ?                 possible intended match
# |           268:  psllw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           269:  paddsw %xmm6, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~
# |           270:  psrlw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           271:  psllw $12, %xmm2 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           272:  psllw $12, %xmm0 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/ssub_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/ssub_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/ssub_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/ssub_sat_vec.ll --check-prefixes=SSE,SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/ssub_sat_vec.ll:502:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: psllw $4, %xmm1
# |             ^
# | <stdin>:205:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:267:2: note: possible intended match here
# |  psllw $12, %xmm6
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/ssub_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           200:  # -- End function 
# |           201:  .globl v16i4 # -- Begin function v16i4 
# |           202:  .p2align 4 
# |           203:  .type v16i4,@function 
# |           204: v16i4: # @v16i4 
# |           205: # %bb.0: 
# | next:502'0             X error: no match found
# |           206:  movq %rdi, %rax 
# | next:502'0     ~~~~~~~~~~~~~~~~~
# |           207:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  movd 80(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           210:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           262:  movd 104(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263:  movd 96(%rsp), %xmm6 # xmm6 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           264:  punpcklwd %xmm3, %xmm6 # xmm6 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           265:  punpckldq %xmm4, %xmm6 # xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  punpcklqdq %xmm5, %xmm6 # xmm6 = xmm6[0],xmm5[0] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  psllw $12, %xmm6 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# | next:502'1      ?                 possible intended match
# |           268:  psllw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           269:  psubsw %xmm6, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~
# |           270:  psrlw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           271:  psllw $12, %xmm2 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           272:  psllw $12, %xmm0 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/uadd_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/uadd_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/uadd_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/uadd_sat_vec.ll --check-prefixes=SSE,SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/uadd_sat_vec.ll:486:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |             ^
# | <stdin>:209:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:226:28: note: possible intended match here
# |  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15]
# |                            ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/uadd_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           204:  .text 
# |           205:  .globl v16i4 
# |           206:  .p2align 4 
# |           207:  .type v16i4,@function 
# |           208: v16i4: # @v16i4 
# |           209: # %bb.0: 
# | next:486'0             X error: no match found
# |           210:  movq %rdi, %rax 
# | next:486'0     ~~~~~~~~~~~~~~~~~
# |           211:  movd 216(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           212:  movd 208(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           213:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           214:  movd 200(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           221:  movd 168(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           222:  movd 160(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           223:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           224:  punpckldq %xmm3, %xmm1 # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           225:  punpcklqdq %xmm2, %xmm1 # xmm1 = xmm1[0],xmm2[0] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           226:  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:486'1                                ?                                       possible intended match
# |           227:  pand %xmm2, %xmm1 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~
# |           228:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           229:  movd 80(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           230:  punpcklwd %xmm0, %xmm3 # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           231:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/usub_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/usub_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/usub_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/usub_sat_vec.ll --check-prefixes=SSE,SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/usub_sat_vec.ll:486:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |             ^
# | <stdin>:209:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:226:28: note: possible intended match here
# |  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15]
# |                            ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/usub_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           204:  .text 
# |           205:  .globl v16i4 
# |           206:  .p2align 4 
# |           207:  .type v16i4,@function 
# |           208: v16i4: # @v16i4 
# |           209: # %bb.0: 
# | next:486'0             X error: no match found
# |           210:  movq %rdi, %rax 
# | next:486'0     ~~~~~~~~~~~~~~~~~
# |           211:  movd 216(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           212:  movd 208(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           213:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           214:  movd 200(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           221:  movd 168(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           222:  movd 160(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           223:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           224:  punpckldq %xmm3, %xmm1 # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           225:  punpcklqdq %xmm2, %xmm1 # xmm1 = xmm1[0],xmm2[0] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           226:  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:486'1                                ?                                       possible intended match
# |           227:  pand %xmm2, %xmm1 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~
# |           228:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           229:  movd 80(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           230:  punpcklwd %xmm0, %xmm3 # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           231:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.TableGen/CPtrWildcard.td
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-dag-isel -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-tblgen -gen-dag-isel -I /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/../../include /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td:11:15: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT:/* 8*/ OPC_CheckChild1Type, /*MVT::c64*/0|128,2/*256*/,
# |               ^
# | <stdin>:62:53: note: scanning from here
# | /* 6*/ OPC_Scope, 9, /*->17*/ // 2 children in Scope
# |                                                     ^
# | <stdin>:63:1: note: possible intended match here
# | /* 8*/ OPC_CheckChild1Type, /*MVT::c64*/2|128,2/*258*/, 
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/TableGen/CPtrWildcard.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           57:  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255 
# |           58:  static const unsigned char MatcherTable[] = { 
# |           59: /* 0*/ OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN), 
# |           60: /* 3*/ OPC_CheckChild0Integer, 44,  
# |           61: /* 5*/ OPC_RecordChild1, // #0 = $src 
# |           62: /* 6*/ OPC_Scope, 9, /*->17*/ // 2 children in Scope 
# | next:11'0                                                         X error: no match found
# |           63: /* 8*/ OPC_CheckChild1Type, /*MVT::c64*/2|128,2/*258*/,  
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:11'1     ?                                                         possible intended match
# |           64: /* 11*/ OPC_MorphNodeTo1None, TARGET_VAL(MyTarget::C64_TO_I64), 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           65:  /*MVT::i64*/8, 1/*#Ops*/, 0,  
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           66:  // Src: (intrinsic_wo_chain:{ *:[i64] } 22:{ *:[iPTR] }, c64:{ *:[c64] }:$src) - Complexity = 8 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           67:  // Dst: (C64_TO_I64:{ *:[i64] } ?:{ *:[c64] }:$src) 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           68: /* 17*/ /*Scope*/ 9, /*->27*/ 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the infrastructure label.

@github-actions
Copy link

🪟 Windows x64 Test Results

  • 128881 tests passed
  • 2841 tests skipped
  • 8 tests failed

Failed Tests

(click on a test name to see its output)

LLVM

LLVM.CodeGen/X86/dpbusd_i4.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll -mtriple=x86_64-unknown-unknown -mattr=+avx512vnni -mattr=+avx512vl | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-unknown-unknown -mattr=+avx512vnni -mattr=+avx512vl
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll:32:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm0, %xmm0
# |               ^
# | <stdin>:45:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:71:2: note: possible intended match here
# |  vpaddd %xmm1, %xmm0, %xmm0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll:54:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpsllw $4, %xmm1, %xmm1
# |               ^
# | <stdin>:101:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:108:17: note: possible intended match here
# |  vpinsrw $1, 32(%rsp), %xmm1, %xmm1
# |                 ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll:81:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
# |               ^
# | <stdin>:204:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll:110:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: vpbroadcastd {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |               ^
# | <stdin>:280:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:289:2: note: possible intended match here
# |  vpbroadcastd .LCPI4_1(%rip), %xmm1 # xmm1 = [15,15,15,15,15,15,15,15]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\dpbusd_i4.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            40:  .globl mul_i4i8 
# |            41:  .p2align 4 
# |            42:  .type mul_i4i8,@function 
# |            43: mul_i4i8: # @mul_i4i8 
# |            44:  .cfi_startproc 
# |            45: # %bb.0: # %entry 
# | next:32'0                       X error: no match found
# |            46:  vmovd 24(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            47:  vpinsrw $1, 32(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            48:  vpinsrw $2, 40(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            49:  vpinsrw $3, 48(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            50:  vpinsrw $4, 56(%rsp), %xmm1, %xmm1 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            66:  vpxor %xmm2, %xmm2, %xmm2 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            67:  vpdpbusd %xmm0, %xmm1, %xmm2 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  vpshufd $238, %xmm2, %xmm0 # xmm0 = xmm2[2,3,2,3] 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            69:  vpaddd %xmm0, %xmm2, %xmm0 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            70:  vpshufd $85, %xmm0, %xmm1 # xmm1 = xmm0[1,1,1,1] 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71:  vpaddd %xmm1, %xmm0, %xmm0 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:32'1       ?                           possible intended match
# |            72:  vmovd %xmm0, %eax 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~
# |            73:  addl 88(%rsp), %eax 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~
# |            74:  retq 
# | next:32'0      ~~~~~~
# |            75: .Lfunc_end1: 
# | next:32'0      ~~~~~~~~~~~~~
# |            76:  .size mul_i4i8, .Lfunc_end1-mul_i4i8 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            96:  .globl mul_i4i4 
# | next:32'0      ~~~~~~~~~~~~~~~~~
# |            97:  .p2align 4 
# | next:32'0      ~~~~~~~~~~~~
# |            98:  .type mul_i4i4,@function 
# | next:32'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            99: mul_i4i4: # @mul_i4i4 
# | next:32'0      ~~~~~~~~~
# |           100:  .cfi_startproc 
# |           101: # %bb.0: # %entry 
# | next:54'0                       X error: no match found
# |           102:  vmovd %edi, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~
# |           103:  vpinsrw $1, %esi, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           104:  vpinsrw $2, %edx, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           105:  vpinsrw $3, %ecx, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           106:  vpinsrw $4, %r8d, %xmm0, %xmm0 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           107:  vmovd 24(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           108:  vpinsrw $1, 32(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:54'1                      ?                    possible intended match
# |           109:  vpinsrw $2, 40(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           110:  vpinsrw $3, 48(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           111:  vpinsrw $4, 56(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           112:  vpinsrw $5, 64(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           113:  vpinsrw $6, 72(%rsp), %xmm1, %xmm1 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           199:  .globl mul_sext_i4i4 # -- Begin function mul_sext_i4i4 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           200:  .p2align 4 
# | next:54'0      ~~~~~~~~~~~~
# |           201:  .type mul_sext_i4i4,@function 
# | next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           202: mul_sext_i4i4: # @mul_sext_i4i4 
# | next:54'0      ~~~~~~~~~~~~~~
# |           203:  .cfi_startproc 
# |           204: # %bb.0: # %entry 
# | next:81                         X error: no match found
# |           205:  vmovd 152(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           206:  vpinsrw $1, 160(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           207:  vpinsrw $2, 168(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  vpinsrw $3, 176(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  vpinsrw $4, 184(%rsp), %xmm0, %xmm0 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           275:  .globl mul_zext_i4i4 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~
# |           276:  .p2align 4 
# | next:81        ~~~~~~~~~~~~
# |           277:  .type mul_zext_i4i4,@function 
# | next:81        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           278: mul_zext_i4i4: # @mul_zext_i4i4 
# | next:81        ~~~~~~~~~~~~~~
# |           279:  .cfi_startproc 
# |           280: # %bb.0: # %entry 
# | next:110'0                      X error: no match found
# |           281:  vmovd 24(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           282:  vpinsrw $1, 32(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           283:  vpinsrw $2, 40(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           284:  vpinsrw $3, 48(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           285:  vpinsrw $4, 56(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           286:  vpinsrw $5, 64(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           287:  vpinsrw $6, 72(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           288:  vpinsrw $7, 80(%rsp), %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           289:  vpbroadcastd .LCPI4_1(%rip), %xmm1 # xmm1 = [15,15,15,15,15,15,15,15] 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:110'1      ?                                                                      possible intended match
# |           290:  vpand %xmm1, %xmm0, %xmm0 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           291:  vmovd %edi, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~
# |           292:  vpinsrw $1, %esi, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           293:  vpinsrw $2, %edx, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           294:  vpinsrw $3, %ecx, %xmm2, %xmm2 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/pr15267.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr15267.ll -mtriple=x86_64-pc-linux -mcpu=corei7-avx | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr15267.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-pc-linux -mcpu=corei7-avx
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr15267.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr15267.ll:85:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: movq (%rdi), %rax
# |               ^
# | <stdin>:87:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:88:2: note: possible intended match here
# |  movq %rdi, %rax
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr15267.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           82:  # -- End function 
# |           83:  .globl test4 # -- Begin function test4 
# |           84:  .p2align 4 
# |           85:  .type test4,@function 
# |           86: test4: # @test4 
# |           87: # %bb.0: 
# | next:85'0             X error: no match found
# |           88:  movq %rdi, %rax 
# | next:85'0     ~~~~~~~~~~~~~~~~~
# | next:85'1      ?                possible intended match
# |           89:  movq (%rsi), %rcx 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~
# |           90:  movq %rcx, (%rdi) 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~
# |           91:  retq 
# | next:85'0     ~~~~~~
# |           92: .Lfunc_end3: 
# | next:85'0     ~~~~~~~~~~~~~
# |           93:  .size test4, .Lfunc_end3-test4 
# | next:85'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/pr62653.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr62653.ll -mtriple=x86_64-- | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr62653.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64--
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr62653.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr62653.ll:10:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: shll $4, %edi
# |               ^
# | <stdin>:10:16: note: scanning from here
# |  andl $15, %edi
# |                ^
# | <stdin>:17:2: note: possible intended match here
# |  shll $8, %edi
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\pr62653.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |            5:  .type pr62653,@function 
# |            6: pr62653: # @pr62653 
# |            7: # %bb.0: 
# |            8:  movq %rdi, %rax 
# |            9:  movzbl 160(%rsp), %edi 
# |           10:  andl $15, %edi 
# | next:10'0                    X error: no match found
# |           11:  movzbl 168(%rsp), %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           12:  andl $15, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           13:  shll $4, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~
# |           14:  orl %edi, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           15:  movzbl 176(%rsp), %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           16:  andl $15, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~
# |           17:  shll $8, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~
# | next:10'1      ?              possible intended match
# |           18:  orl %r10d, %edi 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           19:  movzbl 184(%rsp), %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20:  andl $15, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           21:  shll $12, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |           22:  orl %edi, %r10d 
# | next:10'0     ~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/sadd_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\sadd_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\sadd_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\sadd_sat_vec.ll' --check-prefixes=SSE,SSE2
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\sadd_sat_vec.ll:502:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: psllw $4, %xmm1
# |             ^
# | <stdin>:205:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:267:2: note: possible intended match here
# |  psllw $12, %xmm6
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\sadd_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           200:  # -- End function 
# |           201:  .globl v16i4 # -- Begin function v16i4 
# |           202:  .p2align 4 
# |           203:  .type v16i4,@function 
# |           204: v16i4: # @v16i4 
# |           205: # %bb.0: 
# | next:502'0             X error: no match found
# |           206:  movq %rdi, %rax 
# | next:502'0     ~~~~~~~~~~~~~~~~~
# |           207:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  movd 80(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           210:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           262:  movd 104(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263:  movd 96(%rsp), %xmm6 # xmm6 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           264:  punpcklwd %xmm3, %xmm6 # xmm6 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           265:  punpckldq %xmm4, %xmm6 # xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  punpcklqdq %xmm5, %xmm6 # xmm6 = xmm6[0],xmm5[0] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  psllw $12, %xmm6 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# | next:502'1      ?                 possible intended match
# |           268:  psllw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           269:  paddsw %xmm6, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~
# |           270:  psrlw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           271:  psllw $12, %xmm2 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           272:  psllw $12, %xmm0 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/ssub_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\ssub_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\ssub_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\ssub_sat_vec.ll' --check-prefixes=SSE,SSE2
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\ssub_sat_vec.ll:502:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: psllw $4, %xmm1
# |             ^
# | <stdin>:205:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:267:2: note: possible intended match here
# |  psllw $12, %xmm6
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\ssub_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           200:  # -- End function 
# |           201:  .globl v16i4 # -- Begin function v16i4 
# |           202:  .p2align 4 
# |           203:  .type v16i4,@function 
# |           204: v16i4: # @v16i4 
# |           205: # %bb.0: 
# | next:502'0             X error: no match found
# |           206:  movq %rdi, %rax 
# | next:502'0     ~~~~~~~~~~~~~~~~~
# |           207:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           208:  movd 80(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           209:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           210:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           262:  movd 104(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263:  movd 96(%rsp), %xmm6 # xmm6 = mem[0],zero,zero,zero 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           264:  punpcklwd %xmm3, %xmm6 # xmm6 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           265:  punpckldq %xmm4, %xmm6 # xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  punpcklqdq %xmm5, %xmm6 # xmm6 = xmm6[0],xmm5[0] 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  psllw $12, %xmm6 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# | next:502'1      ?                 possible intended match
# |           268:  psllw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           269:  psubsw %xmm6, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~~~~
# |           270:  psrlw $12, %xmm1 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           271:  psllw $12, %xmm2 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |           272:  psllw $12, %xmm0 
# | next:502'0     ~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/uadd_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\uadd_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\uadd_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\uadd_sat_vec.ll' --check-prefixes=SSE,SSE2
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\uadd_sat_vec.ll:486:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |             ^
# | <stdin>:209:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:226:28: note: possible intended match here
# |  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15]
# |                            ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\uadd_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           204:  .text 
# |           205:  .globl v16i4 
# |           206:  .p2align 4 
# |           207:  .type v16i4,@function 
# |           208: v16i4: # @v16i4 
# |           209: # %bb.0: 
# | next:486'0             X error: no match found
# |           210:  movq %rdi, %rax 
# | next:486'0     ~~~~~~~~~~~~~~~~~
# |           211:  movd 216(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           212:  movd 208(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           213:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           214:  movd 200(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           221:  movd 168(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           222:  movd 160(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           223:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           224:  punpckldq %xmm3, %xmm1 # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           225:  punpcklqdq %xmm2, %xmm1 # xmm1 = xmm1[0],xmm2[0] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           226:  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:486'1                                ?                                       possible intended match
# |           227:  pand %xmm2, %xmm1 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~
# |           228:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           229:  movd 80(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           230:  punpcklwd %xmm0, %xmm3 # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           231:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.CodeGen/X86/usub_sat_vec.ll
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\usub_sat_vec.ll -mtriple=x86_64-unknown-unknown -mattr=+sse2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\usub_sat_vec.ll --check-prefixes=SSE,SSE2
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-unknown-unknown -mattr=+sse2
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\usub_sat_vec.ll' --check-prefixes=SSE,SSE2
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\usub_sat_vec.ll:486:13: error: SSE-NEXT: expected string not found in input
# | ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
# |             ^
# | <stdin>:209:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:226:28: note: possible intended match here
# |  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15]
# |                            ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\usub_sat_vec.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           204:  .text 
# |           205:  .globl v16i4 
# |           206:  .p2align 4 
# |           207:  .type v16i4,@function 
# |           208: v16i4: # @v16i4 
# |           209: # %bb.0: 
# | next:486'0             X error: no match found
# |           210:  movq %rdi, %rax 
# | next:486'0     ~~~~~~~~~~~~~~~~~
# |           211:  movd 216(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           212:  movd 208(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           213:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           214:  movd 200(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           221:  movd 168(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           222:  movd 160(%rsp), %xmm1 # xmm1 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           223:  punpcklwd %xmm0, %xmm1 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           224:  punpckldq %xmm3, %xmm1 # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           225:  punpcklqdq %xmm2, %xmm1 # xmm1 = xmm1[0],xmm2[0] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           226:  movdqa .LCPI15_0(%rip), %xmm2 # xmm2 = [15,15,15,15,15,15,15,15] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:486'1                                ?                                       possible intended match
# |           227:  pand %xmm2, %xmm1 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~
# |           228:  movd 88(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           229:  movd 80(%rsp), %xmm3 # xmm3 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           230:  punpcklwd %xmm0, %xmm3 # xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3] 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           231:  movd 72(%rsp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:486'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

LLVM.TableGen/CPtrWildcard.td
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe -gen-dag-isel -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' -gen-dag-isel -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td:11:15: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT:/* 8*/ OPC_CheckChild1Type, /*MVT::c64*/0|128,2/*256*/,
# |               ^
# | <stdin>:62:53: note: scanning from here
# | /* 6*/ OPC_Scope, 9, /*->17*/ // 2 children in Scope
# |                                                     ^
# | <stdin>:63:1: note: possible intended match here
# | /* 8*/ OPC_CheckChild1Type, /*MVT::c64*/2|128,2/*258*/, 
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\TableGen\CPtrWildcard.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           57:  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255 
# |           58:  static const unsigned char MatcherTable[] = { 
# |           59: /* 0*/ OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN), 
# |           60: /* 3*/ OPC_CheckChild0Integer, 44,  
# |           61: /* 5*/ OPC_RecordChild1, // #0 = $src 
# |           62: /* 6*/ OPC_Scope, 9, /*->17*/ // 2 children in Scope 
# | next:11'0                                                         X error: no match found
# |           63: /* 8*/ OPC_CheckChild1Type, /*MVT::c64*/2|128,2/*258*/,  
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:11'1     ?                                                         possible intended match
# |           64: /* 11*/ OPC_MorphNodeTo1None, TARGET_VAL(MyTarget::C64_TO_I64), 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           65:  /*MVT::i64*/8, 1/*#Ops*/, 0,  
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           66:  // Src: (intrinsic_wo_chain:{ *:[i64] } 22:{ *:[iPTR] }, c64:{ *:[c64] }:$src) - Complexity = 8 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           67:  // Dst: (C64_TO_I64:{ *:[i64] } ?:{ *:[c64] }:$src) 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           68: /* 17*/ /*Scope*/ 9, /*->27*/ 
# | next:11'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the infrastructure label.

Copy link
Contributor

@arsenm arsenm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description is inaccurate, this is just making them available as MVT

Copy link
Contributor

@arsenm arsenm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably isn't a scalable strategy to handle every strange type

%select = select i1 %cmp, <32 x i4> %a, <32 x i4> %b
store <32 x i4> %select, ptr addrspace(1) %out, align 2
ret void
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requires a lot more test coverage (i.e., just about every possible IR operation)

MVT::v8i8, MVT::v8i16, MVT::v8f16, MVT::v8bf16,
MVT::v16i16, MVT::v16f16, MVT::v16bf16, MVT::v32i16,
MVT::v32f16, MVT::v32bf16},
MVT::v32f16, MVT::v32bf16, MVT::v16i4},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could do this combine without adding the MVT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants